﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Practices.Prism.Events;
using ProjTemp.Desktop.Common.Container;

namespace ProjTemp.Desktop.Common.Events
{
    public enum NavigationType
    {
        /// <summary>
        /// Display in an existed region 
        /// </summary>
        Region,
        /// <summary>
        /// Display in a new modal window
        /// </summary>
        ModalWindow,
        /// <summary>
        /// Display in a new non-modal window
        /// </summary>
        NonModalWindow,
        /// <summary>
        /// Display in a masked popup layer
        /// </summary>
        PopupLayer
    }

    public class NavigationRequest
    {
        public object Owner { get; set; }
        public NavigationType NavigationType { get; set; }
        public string ContainerName { get; set; }
        public string Topic { get; set; }
        public object State { get; set; }
        public Action<object> Callback { get; set; }
        public ContainerSetting ContainerSetting { get; set; }
    }

    public class NavigationRequestEvent : CompositePresentationEvent<NavigationRequest>
    {
    }
}
